home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1987-02-22 | 17.1 KB | 314 lines
1 ' JUMP TO PROGRAM INITIALIZATION 2 GOTO 2800 3 ' DECODE AND PRINT OUTPUT 4 IF P$="" THEN RETURN ELSE FOR P=1 TO LEN(P$):II=ASC(MID$(P$,P,N1)):PRINT CHR$(ABS((C155*(II>C64))-II));:NEXT P:PRINT :RETURN 5 ' ENCODE INPUT 6 V$="":IF V0$=""THEN RETURN ELSE FOR J=1 TO LEN(V0$):II=ASC(MID$(V0$,J,N1)):V$=V$+CHR$(ABS((C155*(II>64))-II)):NEXT J:RETURN 7 ' DISPLAY MESSAGE, THEN END CURRENT TURN 8 GOSUB 4:GOTO 2250 9 ' DESCRIPTIONS OF INDIVIDUAL ROOMS 10 A$="ZM ZRIOLXP. GSVIV RH Z YOFV YFGGLM SVIV":S=2:RETURN 20 A$="Z MZIILD XLIIRWLI":N=1:S=3:RETURN 30 A$="Z MZIILD XLIIRWLI":N=2:S=4:RETURN 40 A$="Z MZIILD XLIIRWLI":N=3:S=5:RETURN 50 A$="Z HNZOO ILLN":N=4:S=6:RETURN 60 A$="Z WVXLMGZNRMZGRLM XSZNYVI":B$="GSVIV RH Z YOFV YFGGLM SVIV":N=5:S=7:RETURN 70 A$="Z HNZOO HGLIZTV XSZNYVI":N=6:S=8:W=12:RETURN 80 A$="Z HNZOO XSZNYVI":N=7:S=9:W=13:RETURN 90 A$="Z HNZOO VOVXGILMRX OZYLIZGLIB":N=8:S=10:W=14:RETURN 100 A$="Z YRLOLTRXZO OZYLIZGLIB. GSVIV RH Z IVW YFGGLM LM GSV DZOO":N=9:W=15:RETURN 110 A$="Z HGLIZTV XSZNYVI":W=16:RETURN 120 A$="Z OZITV XSZNYVI. GSVIV RH Z XZYRMVG SVIV":S=13:W=17:E=7:RETURN 130 A$="Z HGIZMTV KFIKOV ILLN. GSVIV RH Z YOFV YFGGLM SVIV":N=12:S=14:W=18:E=8:RETURN 140 A$="Z HNZOO LUURXV":N=13:S=15:E=9:RETURN 150 A$="Z HNZOO ILLN DRGS Z XZIW GZYOV RM GSV XVMGVI":N=14:S=16:W=20:E=10:RETURN 160 A$="Z OZITV LUURXV. GSVIV RH Z WVHP SVIV":N=15:W=21:E=11:RETURN 170 A$="Z LUURXV DRGS Z OZITV WVHP":S=18:E=12:RETURN 180 A$="Z HGLIZTV ILLN":N=17:S=19:E=13:RETURN 190 A$="Z OZITV SZOO":N=18:S=20:RETURN 200 A$="ZM VMGVIGZRMNVMG MLLP. Z HXIVVM IVHGH LM GSV DZOO":B$="GSVIV RH Z YOFV ZMW Z IVW YFGGLM FMWVI GSV HXIVVM":N=19:S=21:E=15:RETURN 210 A$="Z WZGZ IVXLIW HGLIZTV ILLN":N=20:E=16:RETURN 220 A$="IZWZI XLMGILO. GSVIV RH Z HNZOO HXIVVM SVIV":S=23:W=27:RETURN 230 A$="Z NVWRXZO HGZGRLM. GSVIV RH Z OZITV GZYOV SVIV":N=22:S=24:W=28:RETURN 240 A$="Z HVXFIRGB HGZGRLM":N=23:W=11:RETURN 250 A$="Z IZWRL ILLN":S=26:W=30:RETURN 260 A$="Z HNZOO ILLN. GSVIV RH Z HZUV RM GSV HLFGS DZOO":N=25:W=31:RETURN 270 A$="GSV ILYLG XLMGILO XVMGVI":B$="GSVIV RH Z HNZOO XLMGILO XLNKFGVI NLFMGVW RM GSV DZOO":W=32:E=22:RETURN 280 A$="GSV DVZKLMH HGLIZTV ILLN":S=29:W=33:E=23:RETURN 290 A$="Z ORYIZIB":N=28:S=30:W=34:RETURN 300 A$="Z HVXFIRGB XSVXP ZIVZ":N=29:W=36:E=25:RETURN 310 A$="Z HNZOO ILLN DRGS Z WVHP. Z HRTM IVZWH":B$="'KIVHHFIV GL IVZXGLI.' Z YOFV YFGGLM RH OLXZGVW FMWVI GSV HRTM":E=26:RETURN 320 A$="OZFMXS XLMGILO. GSVIV RH Z WVHP SVIV":S=33:W=37:E=27:RETURN 330 A$="Z HNZOO XLIIRWI":N=32:S=34:E=28:RETURN 340 A$="Z HGIZMTV YOFV ILLN. GSVIV RH Z IVW YFGGLM SVIV":N=33:S=35:E=29:RETURN 350 A$="Z GRMB HGLIZTV ILLN":N=34:W=40:RETURN 360 A$="Z HNZOO XSZNYVI. GSVIV RH Z DVHG WLLI SVIV":E=30:RETURN 370 A$="Z HNZOO, MZIILD XLIIRWLI":N=42:E=32:RETURN 380 A$="GSV XLNKFGVI XVMGVI. GSVIV RH Z HNZOO HOLG":B$="RM GSV XLNKFGVI":S=39:RETURN 390 A$="GSV XSVNRXZO OZY":N=38:S=40:RETURN 400 A$="GSV IVZXGLI XLMGILO XVMGVI. GSVIV RH Z YOFV YFGGLM":B$="ZMW Z IVW LMV. Z HRTM HZBH 'IVZXGLI XLMGILO - IVW=LM, YOFV=LUU":N=39:E=35:RETURN 410 A$="GSV MFXOVZI IVZXGLI. Z XLNKFGVI IVHGH LM GSV DZOO":E=36:RETURN 420 A$="GSV DVHG VMW LU Z OLMT XLIIRWLI":S=37:E=43:RETURN 430 A$="GSV VZHG VMW LU Z OLMT XLIIRWLI":W=42:E=44:RETURN 440 A$="Z HVXFIRGB XVMGVI":W=43:E=45:RETURN 450 A$="Z HNZOO OZFMXS TZGV":B$="GSVIV RH Z HNZOO HOLG MVCG GL GSV OZFMXS TZGV":W=44:RETURN 460 A$="Z HNZOO HKZXVXIZUG. GSVIV RH Z HNZOO HOLG RM GSV NZHGVI":B$="OZFMXS XLNKFGVI":W=45 465 ' EXTENDED DESCRIPTIONS OF CURRENT LOCATION 470 IF A=10 AND(D3=10 OR D3=2)THEN C$="GSV NLMHGVI XZTV RH LKVM" 480 IF A=12 AND D5=0 THEN C$="GSV XZYRMVG RH OLXPVW" 490 IF A=12 AND D5=1 THEN C$="GSV XZYRMVG RH LKVM" 500 IF A=20 AND D6=0 THEN C$="GSV HXIVVM RH YOZMP" 510 IF A=20 AND D6=1 THEN C$="Z NLERV RH YVRMT KOZBVW LM GSV HXIVVM" 520 IF A=26 AND D9=0 THEN C$="GSV HZUV RH OLXPVW" 530 IF A=26 AND D9=1 THEN C$="GSV HZUV RH LKVM" 540 IF A=27 AND E2=0 THEN C$="GSV XLNKFGVI RH ZXGREV" 550 IF A=27 AND E2=1 THEN C$="GSV XLNKFGVI RH WVHGILBVW" 560 IF A=36 AND E6=0 THEN C$="GSV IVZXGLI WLLI RH URINOB OLXPVW" 570 IF A=36 AND E6=1 THEN C$="GSV IVZXGLI WLLI RH LKVM":W=41 580 IF A=45 AND E9=0 THEN C$="GSV OZFMXS TZGV RH XOLHVW" 590 IF A=45 AND E9=1 THEN C$="GSV OZFMXS TZGV RH LKVM":E=46 595 'GENERATE LIST OF VISABLE ITEMS AND AVAILABLE EXITS FOR CURRENT LOCATION 600 A$=A$+".":IF LEN(B$)>3 THEN B$=B$+"." 610 IF LEN(C$)>3 THEN C$=C$+"." 650 IF N<>0 THEN E$="MLIGS " 660 IF S<>0 THEN E$=E$+"HLFGS " 670 IF W<>0 THEN E$=E$+"DVHG " 680 IF E<>0 THEN E$=E$+"VZHG " 690 IF E$<>"" THEN E$=LEFT$(E$,LEN(E$)-1) 695 'DESCRIBE CURRENT LOCATION, VISIBLE ITEMS, AND AVAILABLE EXITS. 700 CLS:PRINT "YOU ARE IN: ":P$=A$:GOSUB 4:P$=B$:GOSUB 4 710 P$=C$:GOSUB 4 720 PRINT :PRINT "OBJECTS YOU CAN SEE: ":P$=" ":FOR T=1 TO 16:IF I(T)=A THEN P$="- "+I$(T):GOSUB 4 725 NEXT T:IF P$=" " THEN P$=" MLGSRMT":GOSUB 4 730 PRINT :PRINT "EXITS: ":P$=E$:GOSUB 4 735 'PRINT OUT ADITIONAL WARNINGS AND MESSAGES 740 IF(A=40 OR A=35 OR A=30 OR A=31)AND I(4)=0 AND F3=0 THEN P$="GSV HNZOO YOZXP WVERXV RH YORMPRMT":GOSUB 4 750 IF A=36 AND I(4)=0 AND F3=0 THEN P$="GSV HNZOO YOZXP WVERXV RH UOZHSRMT YIRTSGOB":GOSUB 4 760 IF F4<>0 THEN P$="GSV XLNKFGVI HZBH: '"+STR$(F4)+" NRMFGVH FMGRO WVHGIFXGRLM'":GOSUB 4 770 IF D3=1 THEN P$="* * * ZORVM NLMHGVI ZGGZXPRMT * * *":GOSUB 4 780 IF D7=1 OR E0=1 OR E3=1 OR E7=1 THEN P$="* * * HVXFIRGB KZGILO ZGGZXPRMT * * *":GOSUB 4 785 'GET AND INTERPRET COMMAND 790 PRINT :INPUT "COMMAND";V0$:GOSUB 6 800 FOR T=1 TO 4:IF V$=LEFT$(V$(T),1) THEN V$=V$(T) 810 NEXT T 820 IF LEN(V$)<3 THEN GOTO 700 830 V1$=LEFT$(V$,3):V2$=RIGHT$(V$,3) 840 FOR T=1 TO 17:IF V1$=LEFT$(V$(T),3) THEN V1=T 845 NEXT T 850 IF V1=0 THEN P$="R WLM'G FMWVIHGXMW DSZG BLF DZMG NV GL WL":GOTO 8 860 FOR T=1 TO 16:IF V2$=RIGHT$(I$(T),3) THEN V2=T 870 NEXT T 880 ON V1 GOTO 900,940,980,1050,1130,1310,1370,1390,1560,1620,1660,1790,1860,1910,2010,2170,2240 890 GOTO 2250 895 'COMMAND HANDLER ROUTINES 900 IF N=0 THEN GOTO 1110 910 IF D3=1 THEN P$="GSV NLMHGVI YOLXPH GSV VCRG":GOTO 8 920 IF D7=1 OR E3=1 THEN GOTO 1100 930 A=N:GOTO 2250 940 IF S=0 THEN GOTO 1110 950 IF S=24 AND D8<>0 AND E2<>1 THEN D7=1:GOSUB 1120 960 IF S=30 AND E4<>0 AND E2<>1 THEN E3=1:GOSUB 1120 970 A=S:GOTO 2250 980 IF W=0 THEN GOTO 1110 990 IF D3=1 THEN P$="GSV NLMHGVI YOLXPH GSV VCRG":GOTO 8 1000 IF E0=1 OR E3=1 OR E7=1 THEN GOTO 1100 1010 IF W=41 AND F3=0 THEN P$="IZWRZGRLM UILN GSV IVZXGLI SRGH BLF":GOSUB 4:GOTO 2510 1020 IF W=30 AND E4<>0 AND E2<>1 THEN E3=1:GOSUB 1120 1030 IF W=27 AND E1<>0 AND E2<>1 THEN E0=1:GOSUB 1120 1040 A=W:GOTO 2250 1050 IF E=0 THEN 1110 1060 IF E0=1 OR E3=1 OR E7=1 THEN GOTO 1100 1070 IF E=27 AND E1<>0 AND E2<>1 THEN E0=1:GOSUB 1120 1080 IF E=44 AND E8<>0 AND E2<>1 THEN E7=1:GOSUB 1120 1090 A=E:GOTO 2250 1100 P$="GSV HVXFIRGB ZMWILRW YOLXPH GSV VCRG":GOTO 8 1110 P$="GSVIV RH ML DZB GL TL GSZG WRIVXGRLM":GOSUB 4:FOR J=1 TO 1000:NEXT J:GOTO 2250 1120 P$="Z HVXFIRGB ZMWILRW ZDZRGH BLF":GOSUB 4:RETURN 1130 IF A=1 AND V2$="LXP" THEN P$="GSV ZRIOLXP LKVMH ZMW BLF ZIV YOLDM LFG RMGL GSV EZXFFN LU HKZXV":GOSUB 4:GOTO 2510 1140 IF A=12 AND V2$="MVG" AND D5=0 AND I(2)<>0 THEN P$="BLF ZIVM'G HGILMT VMLFTS GL ULIXV RG LKVM":GOTO 8 1150 IF A=12 AND V2$="MVG" AND D5=0 AND I(2)=0 THEN P$="GSV XILDYZI SVOKVW. GSV XZYRMVG RH MLD LKVM":D5=1:I(5)=ABS(I(5)):GOTO 8 1160 IF A=12 AND V2$="MVG" AND D5=1 THEN P$="GSV XZYRMVG RH ZOIVZWB LKVM":GOTO 8 1170 IF A=16 AND V2$="VHP" THEN P$="LP":I(6)=ABS(I(6)):GOTO 8 1180 IF A=17 AND V2$="VHP" THEN P$="LP":I(7)=ABS(I(7)):GOTO 8 1190 IF A=26 AND V2$="ZUV" AND D9=1 THEN P$="GSV HZUV RH ZOIVZWB LKVM":GOTO 8 1200 IF A=26 AND V2$="ZUV" AND D9=0 THEN P$="R WLM'G SZEV GSV PVB GL LKVM GSV HZUV":GOTO 8 1210 IF A=31 AND V2$="VHP" THEN P$="LP. BLF URMW MLGSRMT RMHRWV":GOTO 8 1220 IF A=32 AND V2$="VHP" THEN P$="LP":I(14)=ABS(I(14)):GOTO 8 1230 IF A=36 AND V2$="LLI" AND E6=1 THEN P$="GSV WLLI RH ZOIVZWB LKVM":GOTO 8 1240 IF A=36 AND V2$="LLI" AND E6=0 AND I(6)<>0 THEN P$="BLF WLM'G SZEV GSV PVB GL GSV WLLI":GOTO 8 1250 IF A=36 AND V2$="LLI" AND E6=0 AND I(6)=0 AND E5=0 THEN P$="BLF ZIV HFXPVW RMGL GSV FMKIVHHFIRAVW IVZXGLI YFROWRMT":GOSUB 4:GOTO 2510 1260 IF A=36 AND V2$="LLI" AND I(6)=0 THEN P$="GSV WLLI RH MLD LKVM":E6=1:GOTO 8 1270 IF A=41 AND V2$="MVO" THEN P$="GSV KZMVO RH URINOB OLXPVW":GOTO 8 1280 IF A=45 AND V2$="LXP" AND E9=1 THEN P$="GSV ZRIOLXP RH ZOIVZWB LKVM":GOTO 8 1290 IF A=45 AND V2$="LXP" AND E9=0 THEN P$="GSVIV ZIVM'G ZMB ERHRYOV XLMGILOH":GOTO 8 1300 P$="R XZM'G WL GSZG":GOTO 8 1310 IF V2$="GVI" OR V2$="LRW" THEN P$="WLM'G YV IRWRXXFOLFH":GOTO 8 1320 IF V2=0 THEN P$="R XZM'G WL GSZG":GOTO 8 1330 IF I(V2)=0 THEN P$="BLF ZOIVZWB SZEV GSZG":GOTO 8 1340 IF I(V2)<>A THEN P$="R WLM'G HVV RG SVIV":GOTO 8 1350 IF P4>=28 THEN P$="HLIIB. BLF XZM'G XZIIB ZMBGSRMT NLIV":GOTO 8 1360 P4=P4+1:I(V2)=0:P$="LP":GOTO 8 1370 IF V2=0 OR I(V2)<>0 THEN P$="BLF WLM'G SZEV GSZG":GOTO 8 1380 P4=P4-1:I(V2)=A:P$="LP":GOTO 8 1390 IF I(5)<>0 THEN P$="BLF WLM'G SZEV Z DVZKLM":GOTO 8 1400 IF A=1 AND V2$="LXP" THEN P$="BLF ZIV YOLDM LFG LU GSV ZRIOLXP RMGL GSV EZXFFN LU HKZXV":GOSUB 4:GOTO 2510 1410 IF A=27 AND V2$="GVI" THEN P$="GSV XLNKGVI RH WVHGILBVW":E2=1:E0=0:GOTO 8 1420 IF A=38 AND V2$="GVI" THEN P$="GSV HSLG IVUOVXGH LUU LU GSV XLNKFGVI":GOSUB 4:GOTO 2510 1430 IF A=41 AND V2$="GVI" THEN P$="GSV DSLOV MFXOVZI IVZXGLI RH VCKOLWRMT":GOSUB 4:GOTO 2510 1440 IF V2$="RWN" OR V2$="YLG" OR V2$="ILO" OR V2$="IWH" OR V2$="ZIW" THEN V2$="LRW" 1450 IF V2$<>"GVI" AND V2$<>"LRW" THEN P$="GSV OZHVI HSLG SZH ML VUUVXG":GOTO 8 1460 IF V2$="GVI" AND D3=0 THEN P$="R WLM'G HVV ZMB NLMHGVI SVIV":GOTO 8 1470 IF V2$="LRW" AND D7=0 AND E0=0 AND E3=0 AND E7=0 THEN P$="R WLM'G HVV ZMB ZMWILRWH SVIV":GOTO 8 1480 T=RND*(100):IF T>P2+P3+50 THEN P$="BLF URIV ZMW NRHH":GOTO 8 1490 IF D3=1 THEN P$="BLF SRG GSV NLMHGVI":GOSUB 4:D4=D4-((10+P2+P3)/2):IF D4<=0 THEN D3=0:D4=0:P$="BLF SZEV PROOVW RG":GOTO 8 1500 IF D7=1 THEN P$="BLF SRG GSV ZMWILRW":GOSUB 4:D8=D8-((5+P2+P3)/2):IF D8<=0 THEN D7=0:D8=0:P$="RG RH WVHGILBVW":GOTO 8 1510 IF E0=1 THEN P$="BLF SRG GSV ZMWILRW":GOSUB 4:E1=E1-((5+P2+P3)/2):IF E1<=0 THEN E0=0:E1=0:P$="RG RH WVHGILBVW":GOTO 8 1520 IF E3=1 THEN P$="BLF SRG GSV ZMWILRW":GOSUB 4:E4=E4-((5+P2+P3)/2):IF E4<=0 THEN E3=0:E4=0:P$="RG RH WVHGILBVW":GOTO 8 1530 IF E7=1 THEN P$="BLF SRG GSV ZMWILRW":GOSUB 4:E8=E8-((5+P2+P3)/2):IF E8<=0 THEN E7=0:E8=0:P$="RG RH WVHGILBVW":GOTO 8 1540 IF D3=1 THEN P$="RG RH HGROO ZOREV":GOTO 8 1550 P$="GSV ZMWILRW RH HGROO UFMXGRLMRMT":GOTO 8 1560 IF V2=0 THEN P$="R XZM'G WL GSZG":GOTO 8 1570 IF I(V2)<>0 THEN P$="R WLM'G SZEV GSZG":GOTO 8 1580 IF V2<>9 AND V2<>14 THEN P$="R XZM'G WL GSZG":GOTO 8 1590 IF (V2=9 AND A=44) OR (V2=14 AND A=38) THEN P$="MLGSRMT SZKKVMH":GOTO 8 1600 IF V2=9 AND A=38 THEN F4=35:P$="GSV XLNKFGVI IVKORVH: 'YZHV WVHGIFXG HVJFVMXV HGZIGVW":GOSUB 4:P$="WVHGIFXGRLM RM"+STR$(F4)+" NRMFGVH.':P4=P4-1:I(9)=100:GOTO 8 1610 IF V2=14 AND A=45 THEN P$="GSV TZGV LKVMH":E9=1:GOTO 8 1620 IF V2<>10 THEN P$="WLM'G YV IRWRXFOLFH":GOTO 8 1630 IF I(10)<>0 THEN P$="BLF WLM'G SZEV GSZG":GOTO 8 1640 P$="LP":I(10)=50:P4=P4-1:P1=P1+65+P3:IF P0<P1 THEN P0=P1 1650 GOTO 8 1660 IF A=1 AND V2$="OFV" THEN P$="GSV ZRIOLXP LKVMH...":GOSUB 4:P$="BLF ZIV YOLDM LFG RMGL GSV EZXFFN LU HKZXV":GOSUB 4:GOTO 2510 1670 IF A=6 AND V2$="OFV" THEN P$="Z HGIZMTV, LIZMTV TOLD XLEVIH BLF ZMW GSVM UZWVH ZDZB":GOTO 8 1680 IF A=10 AND V2$="IVW" AND D3=1 THEN P$="MLGSRMT SZKKVMH":GOTO 8 1690 IF A=10 AND V2$="IVW" THEN D3=1:P$="ZM ZORVM NLMHGVI RH IVOVZHVW. RG RH ZGGZXPRMT BLF!":GOTO 8 1700 IF A=13 AND V2$="OFV" THEN A=34:P$="Z UOZHS LU ORTSG GVNKLIZIROB YORMWH BLF":GOTO 8 1710 IF A=20 AND V2$="IVW" AND D6=0 THEN P$="MLGSRMT SZKKVMH":GOTO 8 1720 IF A=20 AND V2$="IVW" THEN D6=0:P$="GSV HXIVVM TLVH YOZMP":GOTO 8 1730 IF A=20 AND V2$="OFV" THEN D6=1:P$="GSV HXIVVM ORTSGH FK":GOTO 8 1740 IF A=31 AND V2$="OFV" THEN E5=1:P$="LP":GOTO 8 1750 IF A=34 AND V2$="IVW" THEN A=13:P$="Z UOZHS LU ORTSG GVNKLIZIROB YORMWH BLF":GOTO 8 1760 IF A=40 AND V2$="IVW" THEN F3=0:P$="LP":GOTO 8 1770 IF A=40 AND V2$="OFV" THEN F3=1:P$="LP":GOTO 8 1780 P$="MLGSRMT SZKKVMH":GOTO 8 1790 IF A=22 AND V2$="VVM" THEN P$="BLF XZM HVV MLGSRMT LU RMGVIVHG LM GSV IZWZI":GOTO 8 1800 IF V2=0 THEN P$="R WLM'G SZEV GSZG":GOTO 8 1810 IF I(V2)<>0 AND I(V2)<>A THEN P$="R WLM'G SZEV GSZG":GOTO 8 1820 IF V2=3 OR V2=13 THEN P$="R HVV MLGSRMT HKVXRZO":GOTO 8 1830 IF V2=9 THEN P$="HLIIB, LMOB Z XLNKFGVI XZM IVZW Z KILTIZN":GOTO 8 1840 IF V2=16 THEN P$="GSV KOZMH ZIV HVZOVW...LMOB XLNNZMW XZM LKVM GSVN":GOTO 8 1850 P$="R XZM'G IVZW GSZG":GOTO 8 1860 CLS:P$="* * * KOZBVI'H RMEVMGLIB * * *":GOSUB 4:PRINT 1870 FOR T=1 TO 16:IF I(T)=0 THEN P$="- "+I$(T):GOSUB 4 1880 NEXT T 1890 PRINT :PRINT "HIT ANY KEY TO CONTINUE" 1895 X$=INKEY$:IF X$=""THEN GOTO 1895 1900 GOTO 2400 1910 IF V2=0 THEN P$="R XZM'G WL GSZG":GOTO 8 1920 IF I(V2)<>0 THEN P$="R WLM'G SZEV GSZG":GOTO 8 1930 IF V2=1 AND A=12 AND D5=0 THEN P$="GSV XZYRMVG OLXP RH WVHGILBVW":D5=1:I(1)=100:I(5)=ABS(I(5)):P4=P4-1:GOTO 8 1940 IF (V2=1 OR V2=15) AND (D3=1 OR D7=1 OR E0=1 OR E3=1 OR E7=1) THEN I(V2)=100:P4=P4-1:GOTO 1490 1950 IF (V2=1 OR V2=15) AND A=1 THEN P$="GSV ZRIOLXP RH WVHGILBVW...BLF ZIV YOLDM LFG RMGL GSV EZXFFN LU HKZXV!":GOSUB 4:GOTO 2510 1960 IF (V2=1 OR V2=15) AND A=36 AND E6=0 AND E5=0 THEN P$="GSV WLLI RH WVHGILBVW...BLF ZIV HFXPVW RMGL GSV MLM-":GOSUB 4:P$="KIVHHFIRAVW IVZXGLI YFROWRMT":GOSUB 4:GOTO 2510 1970 IF (V2=1 OR V2=15) AND A=36 AND E6=0 AND F3=0 THEN P$="GSV WLLI RH WVHGILBVW. BLF ZIV YLNYZIWVW DRGS IZWRZGRLM":GOSUB 4:GOTO 2510 1980 IF (V2=1 OR V2=15) AND A=36 AND E6=0 THEN P$="GSV WLLI RH WVHGILBVW":E6=1:I(V2)=100:P4=P4-1:GOTO 8 1990 IF V2=1 OR V2=15 THEN P$="GSV "+I$(V2)+" SZH ML VUUVXG":I(V2)=100:P4=P4-1:GOTO 8 2000 GOTO 1370 2010 IF V2=0 THEN P$="R XZM'G WL GSZG":GOTO 8 2020 IF I(V2)<>0 THEN P$="R WLM'G SZEV GSZG":GOTO 8 2030 IF V2=5 AND D3=1 THEN V2$="GVI" 2040 IF V2=5 AND (D7=1 OR E0=1 OR E3=1 OR E7=1)THEN V2$="LRW" 2050 IF V2=5 THEN GOTO 1390 2060 IF V2=4 AND F3=0 AND (A=40 OR A=30 OR A=35 OR A=31) THEN P$="GSV YOZXP WVERXV RH YORMPRMT":GOTO 8 2070 IF V2=4 AND F3=0 AND A=36 THEN P$="GSV YOZXP WVERXV RH UOZHSRMT YIRTSGOB":GOTO 8 2080 IF V2=4 THEN P$="GSVIV ZIVM'G ZMB ERHRYOV XLMGILOH LM GSRH WVERXV":GOTO 8 2090 IF V2=12 THEN I(12)=A:P4=P4-1:I$(12)="ARMED PHOTON BOMB":F2=35:P$="GSV KSLGLM YLNY DROO VCKOLWV RM 35 NRMFGVH":GOTO 8 2100 IF V2=2 AND A=12 AND D5=0 THEN D5=1:P$="GSV XZYRMVG RH MLD LKVM":I(5)=ABS(I(5)):GOTO 8 2110 IF V2=2 AND A=12 AND D5=1 THEN P$="GSV XZYRMVG RH ZOIVZWB LKVM":GOTO 8 2120 IF V2=7 AND A=26 AND D9=0 THEN D9=1:I(16)=ABS(I(16)):P$="GSV HZUV LKVMH":GOTO 8 2130 IF V2<>11 THEN P$="DSZG WL BLF DZMG NV GL WL DRGS GSV "+I$(V2)+"?":GOTO 8 2140 IF I(8)<>0 THEN P$="GSVIV ZIVM'G ZMB YZGGVIRVH ULI GSV IZWRL":GOTO 8 2150 IF F2<>0 THEN P$="Z ELRXV HZBH 'YLNY HGZGFH:"+STR$(F2)+"NRMFGVH FMGRO WVGLMZGRLM'":GOTO 8 2160 P$="GSV IZWRL RH HROVMG":GOTO 8 2165 P1=P1*P1:P2=P2*P2:P3=P3*P3:P1=P1*P1:P2=P2*P2:P3=P3*P3 2170 CLS:P$="* * * KOZBVI'H HGZGFH * * *":GOSUB 4:PRINT 2175 P1=P1*P1:P2=P2*P2:P3=P3*P3:P1=P1*P1:P2=P2*P2:P3=P3*P3 2180 P$="XFIIVMG SRG KLRMGH = "+(STR$(P1*A)):GOSUB 4 2190 P$="WVCGVIRGB ZGGIRYFGV = "+(STR$(P2*A)):GOSUB 4 2200 P$="OFXP ZGGIRYFGV = "+(STR$(P3*A)):GOSUB 4 2210 PRINT :PRINT "HIT ANY KEY TO CONTINUE" 2220 X$=INKEY$:IF X$="" THEN GOTO 2220 2230 GOTO 2400 2240 CLS:PRINT "GAME OVER":GOTO 2520 2245 'UPDATE PLAYER STATUS AND CONDUCT COMBAT IF APPROPRIATE. 2250 IF F2<>0 THEN F2=F2-1:IF F2<=0 THEN GOTO 2430 2260 IF F4<>0 THEN F4=F4-1:IF F4<=0 THEN GOTO 2470 2270 IF P1<P0 THEN P5=P5+0.5:IF P5=1 THEN P5=0:P1=P1+1 2280 IF D3=0 AND D7=0 AND E0=0 AND E3=0 AND E7=0 THEN GOTO 2390 2290 T=RND*(100) 2300 IF D3=1 THEN P$="GSV NLMHGVI ZGGZXPH ":GOSUB 4 2310 IF D3<>1 THEN P$="GSV HVXFIRGB ZMWILRW HSLLGH... ":GOSUB 4 2320 IF T>80-(P2+P3) THEN P$="RG NRHHVH":GOSUB 4:GOTO 2390 2330 P1=P1-(RND*(5)+RND*(5)+RND*(5)+15-P3) 2340 IF D3<>1 THEN P1=P1+5 2350 IF P1<0 THEN 2510 2380 P$="BLF ZIV SRG!":GOSUB 4 2390 IF V1=0 OR V1>4 OR(D3+D7+E0+E3+E7>0) THEN FOR J=1 TO 1000:NEXT J 2395 'INITIALIZE FOR NEW TURN AND JUMP TO APPROPRIATE ROOM DESCRIPTION 2400 V$="":V1$="":V2$="":V1=0:V2=0:A$="":B$="":C$="":D$="":E$="":N=0:S=0:W=0:E=0 2410 ON A GOSUB 10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400,410,420,430,440,450,2550:GOTO 470 2420 GOTO 10 2425 'EVALUATE END-GAME CONDITIONS AND DISPLAY APPROPRIATE MESSAGES. 2430 CLS:IF A=46 THEN F4=-1:GOTO 2550 2440 P$="GSV KSLGLM YLNY VCKOLWVH...GSV VMGRIV XLNKOVC RH WVHGILBVW":GOSUB 4 2450 P$="BLF SZEV YVVM PROOVW YB GSV ULIXV LU GSV YOZHG":GOSUB 4 2460 PRINT :PRINT :GOTO 2510 2470 CLS:IF A=46 THEN GOTO 2550 2480 IF A=38 THEN P$="GSV XLNKFGVI UOZHSVH YIRTSGOB, VNRGGRMT HKZIPH RM ZOO WRIVXGRLMH":GOSUB 4 2490 P$="GSV XLNKOVC HFWWVMOB VCKOLWVH RMGL NROORLMH LU KRVXVH":GOSUB 4 2500 P$="BLF ZIV PROOVW YB GSV UZOORMT WVYIRH ZILFMW BLF":GOSUB 4:PRINT :PRINT 2510 P$="BLF ZIV WVZW!":GOSUB 4 2520 INPUT "DO YOU WANT TO PLAY AGAIN";A$ 2530 IF LEFT$(A$,1)="Y" THEN CLEAR:GOTO 2610 2540 END 2550 P$="GSV HKZXV HSRK HFWWVMOB ORUGH RMGL LIYRG ZILFMW GSV KOZMVG":GOSUB 4 2560 IF((F2=0)OR(F2<>0 AND I(12)<>41)) AND F4=0 THEN P$="BLF WRWM'G WVHGILB GSV YZHV. NRHHRLM UZROVW":GOSUB 4:PRINT :GOTO 2520 2570 P$="UILN Z WRHGZMXV, BLF XZM HVV GSV ZORVM YZHV VCKOLWV":GOSUB 4 2580 IF I(16)<>0 THEN P$="BLF WRWM'G IVXLEVI GSV HVXIVG KOZMH MVVWVW YB HGZI XLNNZMW":GOSUB 4:PRINT :GOTO 2520 2590 P$="NRHHRLM RH Z HFXXVHH!":GOSUB 4 2600 GOTO 2520 2605 ' INITIALIZE WORKSPACE. READ ITEMS, AND VERBS 2610 DIM I$(16),I(16),V$(17),PO(40),D4(50):C155=-155:C64=64:N1=1:RANDOMIZE INT(VAL(MID$(TIME$,7,2))) 2620 CLS 2630 PRINT TAB(15)"OPERATION: SABOTAGE BY RAY SATO" 2640 FOR T=1 TO 16:READ I$(T):READ I(T):NEXT T 2660 FOR T=1 TO 17:READ V$(T):NEXT T 2690 FOR T=1 TO 40:P0=P0+RND*(2):NEXT T 2695 ' ESTABLISH PLAYER ATTRIBUTE POINTS. JUMP TO FIRST ROOM 2700 P1=P0 2710 FOR T=1 TO 10:P2=P2+RND*(2):NEXT T 2720 FOR T=1 TO 10:P3=P3+RND*(2):NEXT T 2730 FOR T=1 TO 50:D4=D4+RND*(2):D8=D8+RND*(2):E1=E1+RND*(2):E4=E4+RND*(2):E8=E8+RND*(2):NEXT T 2740 A=1:P4=1 2750 GOSUB 10:GOTO 470 2760 DATA KOZHGRX VCKOLHREV,0,XILDYZI,7,XZOVMWZI,8,HNZOO YOZXP WVERXV,9,OZHVI KRHGLO,-12,HVXFIRGB PVB,-16,VOVXGILMRX XLMGILO YZGLM,-17,YZGGVIRVH,18,XLNKFGVI WVHGIFXG KILTIZN,21,HROEVI KROO,23,KLIGZYOV IZWRL,25,OZITV KSLGLM YLNY,28 2770 DATA TZOZXGRX XSZIG,32,OZFMXS HBHGVN XZHHVGGV,-32,MRGILTOBXVIRM,39,HVXIVG KOZMH,-26 2780 DATA MLIGS,HLFGS,DVHG,VZHG,LKVM,TVG,WILK,HSLLG,RMHVIG,VZG,KFHS,IVZW,RMEVMGLIB,GSILD,FHV,HGZGFH,JFRG 2800 ' SABOTAGE COPYRIGHT (C) 1982 2810 'AUTHOR: RAY SATO 2820 'TRANSLATION TO TRS-80 BY RON SHAKER AND RICH BOUCHARD 2830 'ENCRIPTION MODIFICATIONS BY RICH BOUCHARD, WILLIAM KHBECK, AND ALAN J. ZETT 2840 'TRANSLATED FROM SOFTSIDE (TM) ISSUE #32 FOR IBM-PC BY TOM BLACKFORD 2850 CLS:LOCATE 3,5 2860 PRINT "It is the year 2101 and war has broken out between Earth and the" 2870 PRINT "distant planet Zekloke. This alien power has established a large military" 2880 PRINT "complex on Mars which will soon become a great danger to Earth. Hidden" 2890 PRINT "in the massive installation are several secret documents containing the" 2900 PRINT "plans for a incredible defense shield - strong enough to stop an entire" 2910 PRINT "fleet of spacecraft. You are a special agent and have just succeeded in" 2920 PRINT "sneaking into the alien complex. Your mission is to destroy this base and" 2930 PRINT "return with the plans for the defense shield. The outcome of the mission" 2940 PRINT "will decide the fate of mankind. GOOD LUCK!" 2950 PRINT :PRINT TAB(20);:COLOR 1,0:PRINT "Press space bar to proceed":COLOR 7,0 2960 X$=INKEY$:IF X$="" THEN GOTO 2960 2970 GOTO 2610